1. Field of the Invention
This invention relates to computer display systems and, more particularly, to methods and apparatus for providing a graphics accelerator capable of providing bump mapping.
2. History of the Prior Art
In three dimensional graphics, surfaces are typically rendered by assembling a plurality of polygons in a desired shape. The polygons are conventionally triangles having vertices which are defined by three dimensional coordinates in world space, by color values, and by texture coordinates.
To display a surface on a computer monitor, the three dimensional world space coordinates are transformed into screen coordinates in which horizontal and vertical values (x, y) define screen position and a depth value (z) determines how near a vertex is to the screen and thus whether that vertex is viewed with respect to other points at the same screen coordinates. The color values (r, g, b) define the brightness of each of red/green/blue colors at each vertex and thus the color (often called diffuse color) at each vertex. Texture coordinates (u, v) define texture map coordinates for each vertex on a particular texture map defined by values stored in memory.
A texture map typically describes a pattern to be applied to the surface of the triangle to vary the diffuse color in accordance with the pattern. The texture coordinates of the vertices of a triangular surface area fix the position of the vertices of the triangle on the texture map and thereby determine the texture detail applied to each portion of the surface within the triangle in accordance with the particular texture . In turn, the three dimensional coordinates of the vertices of a triangle define the plane in which the texture map and the surface lie with respect to the screen surface.
A texture which is applied to a surface in space may have a wide variety of characteristics. A texture may defined a pattern such as a stone wall. It may define light reflected from positions on the surface. It may describe the degree of transparency of a surface and thus how other objects are seen through the surface. A texture may provide characteristics such a dirt and scratches which make a surface appear more realistic. A number of other variations may be provided which fall within the general description of a texture.
One problem with prior art computer graphics pipelines is that the images which are generated are somewhat unrealistic. The images generated appear too smooth to the eye and include none of the irregularities of a typical surface in the real world.
It is desirable to provide a new computer graphics pipeline capable of providing more realistic output images.